﻿$(document).ready(function () {
    Ladda.bind('.btn-default,.btn-primary', { timeout: 2000 });
    //toastr.options = {

    //    "closeButton": false, //是否显示关闭按钮
    //    "debug": false, //是否使用debug模式
    //    "positionClass": "toast-top-full-width",//弹出窗的位置
    //    "showDuration": "300",//显示的动画时间
    //    "hideDuration": "1000",//消失的动画时间
    //    "timeOut": "50000000", //展现时间
    //    "extendedTimeOut": "1000",//加长展示时间
    //    "showEasing": "swing",//显示时的动画缓冲方式
    //    "hideEasing": "linear",//消失时的动画缓冲方式
    //    "showMethod": "fadeIn",//显示时的动画方式
    //    "hideMethod": "fadeOut" //消失时的动画方式
    //};


});

function HandleGlobalException(jqXHR) {
    switch (jqXHR.status) {
        case (500):
            ShowMessageError("服务器系统内部错误.");
            break;
        case (401):
            ShowMessageError("会话过期，请重新登录.", function () {
                window.location.href = "/Account/Login";
            });
            break;
        case (403):
            ShowMessageError("没有权限，请重新登录.", function () {
                window.location.href = "/Account/Login";
            });
            break;
        case (408):
            ShowMessageError("请求超时.");
            break;
        case (400):
            ShowMessageError(jqXHR.responseText);
            break;
        default:
            ShowMessageError("未知错误.");
            break;
    }


}


$.ajaxSetup({
    error: HandleGlobalException
});

function ShowMessage(msg, callback) {
    //if (callback) toastr.subscribe(callback);
    //toastr.success(msg);
    if (callback) {
        msg += " 页面即将跳转..."
    }
    $.toast({
        heading: 'Success',
        text: msg,
        showHideTransition: 'fade',
        icon: 'success',
        position: 'top-center',
        hideAfter: 5000,
        afterHidden: callback
    })

}

function ShowMessageError(msg, callback) {
    //if (callback) toastr.subscribe(callback);
    //toastr.error(msg);
    if (callback) {
        msg += " 页面即将跳转..."
    }
    $.toast({
        heading: 'Error',
        text: msg,
        showHideTransition: 'fade',
        icon: 'error',
        position: 'top-center',
        hideAfter: 4000,
        afterHidden: callback
    })
}